import ZS_BladeStrom from 'code/Scripts/Abilities/ClassAbility/Warrior/ZS_BladeStrom';
import ClassAbilityManagerBase from './base/ClassAbilityManagerBase';
import ZS_DefensPos from 'code/Scripts/Abilities/ClassAbility/Warrior/ZS_DefensPos';
import ZS_FuryAssaul from 'code/Scripts/Abilities/ClassAbility/Warrior/ZS_FuryAssaul';
import ZS_FuryPos from 'code/Scripts/Abilities/ClassAbility/Warrior/ZS_FuryPos';
import ZS_HowlOfCourage from 'code/Scripts/Abilities/ClassAbility/Warrior/ZS_HowlOfCourage';
import ZS_HowlOfDespair from 'code/Scripts/Abilities/ClassAbility/Warrior/ZS_HowlOfDespair';
import ZS_MarsHit from 'code/Scripts/Abilities/ClassAbility/Warrior/ZS_MarsHit';
import ZS_ShockWave from 'code/Scripts/Abilities/ClassAbility/Warrior/ZS_ShockWave';
import ZS_ThunderClap from 'code/Scripts/Abilities/ClassAbility/Warrior/ZS_ThunderClap';

declare global {
    var ZSAbilities: WarriorAbilityManager;
}

export default class WarriorAbilityManager extends ClassAbilityManagerBase {
    ZS_BladeStrom: ZS_BladeStrom;
    ZS_DefensPos: ZS_DefensPos;
    ZS_FuryAssaul: ZS_FuryAssaul;
    ZS_FuryPos: ZS_FuryPos;
    ZS_HowlOfCourage: ZS_HowlOfCourage;
    ZS_HowlOfDespair: ZS_HowlOfDespair;
    ZS_MarsHit: ZS_MarsHit;
    ZS_ShockWave: ZS_ShockWave;
    ZS_ThunderClap: ZS_ThunderClap;
    constructor() {
        super();
        ZSAbilities = this;

        this.ZS_BladeStrom = new ZS_BladeStrom();
        this._abilities.set(this.ZS_BladeStrom.id, this.ZS_BladeStrom);

        this.ZS_DefensPos = new ZS_DefensPos();
        this._abilities.set(this.ZS_DefensPos.id, this.ZS_DefensPos);

        this.ZS_FuryAssaul = new ZS_FuryAssaul();
        this._abilities.set(this.ZS_FuryAssaul.id, this.ZS_FuryAssaul);

        this.ZS_FuryPos = new ZS_FuryPos();
        this._abilities.set(this.ZS_FuryPos.id, this.ZS_FuryPos);

        this.ZS_HowlOfCourage = new ZS_HowlOfCourage();
        this._abilities.set(this.ZS_HowlOfCourage.id, this.ZS_HowlOfCourage);

        this.ZS_HowlOfDespair = new ZS_HowlOfDespair();
        this._abilities.set(this.ZS_HowlOfDespair.id, this.ZS_HowlOfDespair);

        this.ZS_MarsHit = new ZS_MarsHit();
        this._abilities.set(this.ZS_MarsHit.id, this.ZS_MarsHit);

        this.ZS_ShockWave = new ZS_ShockWave();
        this._abilities.set(this.ZS_ShockWave.id, this.ZS_ShockWave);

        this.ZS_ThunderClap = new ZS_ThunderClap();
        this._abilities.set(this.ZS_ThunderClap.id, this.ZS_ThunderClap);
    }
}
